package com.galen.manual.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.galen.manual.dto.BannerCreateDTO;
import com.galen.manual.dto.BannerQueryDTO;
import com.galen.manual.vo.BannerListVO;
import com.galen.manual.vo.BannerVO;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

public interface BannerService {

    /**
     * 获取Banner列表
     */
    Page<BannerListVO> getBannerPage(BannerQueryDTO queryDTO);

    /**
     * 获取启用的Banner列表（前端展示用）
     */
    List<BannerListVO> getActiveBanners();

    /**
     * 获取Banner详情
     */
    BannerVO getBannerDetail(Long id);

    /**
     * 创建Banner
     */
    void createBanner(BannerCreateDTO createDTO);

    /**
     * 更新Banner
     */
    void updateBanner(Long id, BannerCreateDTO updateDTO);

    /**
     * 删除Banner
     */
    void deleteBanner(Long id);

    /**
     * 启用Banner
     */
    void enableBanner(Long id);

    /**
     * 禁用Banner
     */
    void disableBanner(Long id);

    /**
     * 上传Banner图片
     */
    String uploadBannerImage(org.springframework.web.multipart.MultipartFile file, HttpServletRequest request);

    /**
     * 批量更新Banner排序
     */
    void updateBannerSort(List<Long> bannerIds);
}